/**
 * 编号生成器工具函数
 */

/**
 * 生成指定前缀的编号
 * @param {string} prefix 编号前缀 
 * @param {number} length 编号数字部分长度，默认为6
 * @returns {string} 生成的编号
 */
export function generateCode(prefix, length = 6) {
  // 获取当前时间戳的后几位作为基础数字
  const timestamp = Date.now().toString();
  const baseNum = timestamp.substring(timestamp.length - length);
  
  // 生成指定长度的随机数字填充
  let randomNum = '';
  for (let i = 0; i < length - baseNum.length; i++) {
    randomNum += Math.floor(Math.random() * 10);
  }
  
  // 组合前缀和数字部分
  return `${prefix}${baseNum}${randomNum}`;
}

/**
 * 生成团队编号 - TEAM前缀
 */
export function generateTeamCode() {
  return generateCode('TEAM');
}

/**
 * 生成班次编号 - SHIFT前缀
 */
export function generateShiftCode() {
  return generateCode('SHIFT');
}

/**
 * 生成车间编号 - WS前缀
 */
export function generateWorkshopCode() {
  return generateCode('WS');
}

/**
 * 生成生产线编号 - PL前缀
 */
export function generateProductionLineCode() {
  return generateCode('PL');
}

/**
 * 生成产品编号 - P前缀
 */
export function generateProductCode() {
  return generateCode('P');
}

/**
 * 生成设备编号 - EQ前缀
 */
export function generateEquipmentCode() {
  return generateCode('EQ');
}

/**
 * 生成维护编号 - MAINT前缀
 */
export function generateMaintenanceCode() {
  return generateCode('MAINT');
}

/**
 * 生成报警编号 - ALARM前缀
 */
export function generateAlarmCode() {
  return generateCode('ALARM');
}

/**
 * 生成仓库编号 - WH前缀
 */
export function generateWarehouseCode() {
  return generateCode('WH');
} 

/**
 * 生成计划编号 - PL前缀
 */
export function generatePlanCode() {
  return generateCode('PL');
} 
/**
 * 生成工单编号 - LO前缀
 */
export function generateWorkorderCode() {
  return generateCode('LO');
} 
/**
 * 生成质量检验编号 - QI前缀
 */
export function generateInspectionCode() {
  return generateCode('QI');
}
/**
 * 生成物料编号 - MT前缀
 */
export function generateMaterialCode() {
  return generateCode('MT');
}
